//package com.bsi.app.widget;
//import java.util.HashMap;
//
//import com.bsi.health.R;
//
//import android.app.Activity;
//import android.content.Context;
//import android.os.Handler;
//import android.util.AttributeSet;
//import android.view.MotionEvent;
//import android.view.View;
//import android.widget.ImageButton;
//import android.widget.ListView;
//import android.widget.TextView;
//
///**
// * 字母表快速定位栏
// * 
// * @author hiphonezhu@sina.com
// * 
// */
//public class QuickAlphabeticBar extends ImageButton {
//	private TextView mDialogText;
//	private Handler mHandler;
//	private ListView mList;
//	private float mHight;
//	private String[] letters = new String[] { "#", "A", "B", "C", "D", "E",
//			"F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
//			"S", "T", "U", "V", "W", "X", "Y", "Z" };
//	private HashMap<String, Integer> alphaIndexer;
//
//	public QuickAlphabeticBar(Context context) {
//		super(context);
//	}
//
//	public QuickAlphabeticBar(Context context, AttributeSet attrs) {
//		super(context, attrs);
//	}
//
//	public QuickAlphabeticBar(Context context, AttributeSet attrs, int defStyle) {
//		super(context, attrs, defStyle);
//	}
//
//	public void init(Activity ctx) {
//		mDialogText = (TextView) ctx.findViewById(R.id.fast_position);
//		mDialogText.setVisibility(View.INVISIBLE);
//		mHandler = new Handler();
//	}
//
//	public void setListView(ListView mList) {
//		this.mList = mList;
//	}
//
//	public void setAlphaIndexer(HashMap<String, Integer> alphaIndexer) {
//		this.alphaIndexer = alphaIndexer;
//	}
//
//	public void setHight(float mHight) {
//		this.mHight = mHight;
//	}
//
//	@Override
//	public boolean onTouchEvent(MotionEvent event) {
//		int act = event.getAction();
//		float y = event.getY();
//		// 计算手指位置，找到对应的段，让mList移动段开头的位置上
//		int selectIndex = (int) (y / (mHight / 27));
//		if (selectIndex < 27) {// 防止越界
//			String key = letters[selectIndex];
//			if (alphaIndexer.containsKey(key)) {
//				int pos = alphaIndexer.get(key);
//				if (mList.getHeaderViewsCount() > 0) {// 防止ListView有标题栏，本例中没有。
//					this.mList.setSelectionFromTop(
//							pos + mList.getHeaderViewsCount(), 0);
//				} else {
//					this.mList.setSelectionFromTop(pos, 0);
//				}
//				mDialogText.setText(letters[selectIndex]);
//			}
//		}
//		if (act == MotionEvent.ACTION_DOWN) {
//			if (mHandler != null) {
//				mHandler.post(new Runnable() {
//					@Override
//					public void run() {
//						if (mDialogText != null
//								&& mDialogText.getVisibility() == View.INVISIBLE) {
//							mDialogText.setVisibility(VISIBLE);
//						}
//					}
//				});
//			}
//		} else if (act == MotionEvent.ACTION_UP) {
//			if (mHandler != null) {
//				mHandler.post(new Runnable() {
//					@Override
//					public void run() {
//						if (mDialogText != null
//								&& mDialogText.getVisibility() == View.VISIBLE) {
//							mDialogText.setVisibility(INVISIBLE);
//						}
//					}
//				});
//			}
//		}
//		return super.onTouchEvent(event);
//	}
//}